// pages/phone_login/phone_login.js

import getRueuset from '../../utils/request.js'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    phoneValue: '18978559988', // 手机号输入框的值
    showNumber: false, // 倒计时数字显示与否
    timeNum: 10, // 倒计时初始值
    code: '' // 验证码框的值
  },

  // 得到输入框的值，进行数据的双向绑定
  phoneNum(event) {
    // console.log(event);
    // console.log(event.detail.value);
    this.setData({
      phoneValue: event.detail.value // 将值给到data中的phoneValue
    })
  },

  // 得到验证码框的值，进行绑定
  codeNum(event) {
    this.setData({
      code: event.detail.value
    })
  },

  // 点击发送验证码 
  async sendCode() {
    // 若为倒计时状态则按钮不能点击，所以直接return回去，并且应该放在所有搜集之前
    if (this.data.showNumber === true) {
      return
    }
    // 点击后则改为倒计时状态
    this.setData({
      showNumber: true
    })
    // 设置定时器让数字开始间隔一秒减一
    let timeID = setInterval(() => {
      if (this.data.timeNum > 1) { // 如果数字大于一则开始减一
        this.setData({
          timeNum: this.data.timeNum - 1
        })
      } else { // 当数字小于 1 时，要将内容改为“获取验证码”
        this.setData({
          showNumber: false,
          timeNum: 10 // 需要重新设置倒计时的初始值
        })
        // 改为“获取验证码”后，将定时器清除，便于下次加载定时器，否则出现定时器累加的bug
        clearInterval(timeID)
      }
    }, 1000);
    // 调用接口发送请求，根据手机号码，请求验证码
    let data = await getRueuset({
      url: '/api/user/vcode',
      data: {
        phone: this.data.phoneValue
      }
    })
    console.log(data);
    wx.showToast({
      title: data.vcode + '', // 注意：返回的是一个数字，而title要的是字符串
      icon: 'none',
      duration: 5000 // 提示框展示时间延长
    })
  },

  // 点击立即验证按钮
  async phoneLogin() {
    let data = await getRueuset({ // 调用接口，传参，发送请求
      url: '/api/user/login',
      method: 'POST',
      data: {
        phone: this.data.phoneValue,
        vcode: this.data.code
      }
    })
    console.log(data);
    wx.setStorageSync('token', data.token)//将获取到的token保存在本地
    wx.showToast({ // 弹出提示框
      title: data.message,
      duration:2000, // 展示提示框时长延迟2妙
      success: () => {
        setTimeout(() => {
          // wx.switchTab 跳转tabbar页面，并关闭所有非tabbar页面
          wx.switchTab({
            url: '/pages/my/my',
          })
        }, 2000);
      }
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})